Printing from untrustworthy source

ABSTRACT

Disclosed herein are a system, non-transitory computer-readable medium and method for printing. A configuration is associated with a printing device. If a print request is received from an untrustworthy source, the print request is associated with the configuration such that the printing device handles the print request in accordance with the configuration.

BACKGROUND

Network printers heretofore may be associated with an identifier, such as a unique email address, that may act as a recipient for print content. This print content may then be routed to the printer. Access to printing via the identifier may be restricted using a white listing approach. In this instance, only certain pre-approved users can print via the identifier.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example system in accordance with aspects of the present disclosure.

FIG. 2 is a flow diagram of an example method in accordance with aspects of the present disclosure.

FIG. 3 is an example screen shot in accordance with aspects of the present disclosure.

FIG. 4 is a working example in accordance with aspects of the present disclosure.

DETAILED DESCRIPTION

As noted above, a network printing device may be associated with an identifier that allows trustworthy sources to transmit print requests thereto. Web enabled network printers have increased the demand for mechanisms that restrict access to such printers. However, users may still be interested in printing content contained in sources considered to be untrustworthy. For example, some public content generated from RSS/ATOM feeds, social networking groups, or forums may be of interest. Nevertheless, a subscriber may be weary of providing these public sources unfettered access to their printing device. If left unchecked, there may be instances of misuse or exploitation. For example, an unscrupulous member of these public sources may send a high volume of content to overload the printing device. Moreover, countless online marketers may send advertisements to the printer as part of their marketing strategy.

In view of the foregoing, disclosed herein are a system, non-transitory computer readable medium, and method to manage printing requests from untrustworthy sources. In one example, a configuration may be associated with a printing device. In another example, if a print request is received from an untrustworthy source, the print request may also be associated with the configuration such that the request is handled in accordance therewith. Thus, the owner of a printing device may use the configuration to limit access to a printing device. This allows a user to print content from untrustworthy sources that may be of interest without worrying about the potential for misuse or exploitation. The aspects, features and advantages of the present disclosure will be appreciated when considered with reference to the following description of examples and accompanying figures. The following description does not limit the application; rather, the scope of the disclosure is defined by the appended claims and equivalents.

FIG. 1 presents a schematic diagram of an illustrative computer apparatus 100 for executing the techniques disclosed herein. The computer apparatus 100 may include all the components normally used in connection with a computer. For example, it may have a keyboard and mouse and/or various other types of input devices such as pen-inputs, joysticks, buttons, touch screens, etc., as well as a display, which could include, for instance, a CRT, LCD, plasma screen monitor, TV, projector, etc. Computer apparatus 100 may also comprise a network interface (not shown) to communicate with other devices over a network.

The computer apparatus 100 may also contain a processor 110, which may be any number of well known processors, such as processors from Intel® Corporation. In another example, processor 110 may be an application specific integrated circuit (“ASIC”). Non-transitory computer readable medium (“CRM”) 112 may store instructions that may be retrieved and executed by processor 110. As will be discussed in more detail below, the instructions may include a generator 114, a settings module 116, and a job coordinator 118. In one example, non-transitory CRM 112 may be used by or in connection with any instruction execution system that can fetch or obtain the logic from non-transitory CRM 112 and execute the instructions contained therein.

Non-transitory computer readable media may comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media. More specific examples of suitable non-transitory computer-readable media include, but are not limited to, a portable magnetic computer diskette such as floppy diskettes or hard drives, a read-only memory (“ROM”), an erasable programmable read-only memory, a portable compact disc or other storage devices that may be coupled to computer apparatus 100 directly or indirectly. Alternatively, non-transitory CRM 112 may be a random access memory (“RAM”) device or may be divided into multiple memory segments organized as dual in-line memory modules (“DIMMs”). The non-transitory CRM 112 may also include any combination of one or more of the foregoing and/or other devices as well. While only one processor and one non-transitory CRM are shown in FIG. 1, computer apparatus 100 may actually comprise additional processors and memories that may or may not be stored within the same physical housing or location.

The instructions residing in non-transitory CRM 112 may comprise any set of instructions to be executed directly (such as machine code) or indirectly (such as scripts) by processor 110. In this regard, the terms “instructions,” “scripts,” and “applications” may be used interchangeably herein. The computer executable instructions may be stored in any computer language or format, such as in object code or modules of source code. Furthermore, it is understood that the instructions may be implemented in the form of hardware, software, or a combination of hardware and software and that the examples herein are merely illustrative.

The instructions of the generator 114 may instruct processor 110 to generate an identifier and to associate the identifier with the printing device. In one example, the identifier may be an e-mail address. In another example, a plurality of identifiers may be generated and associated with the same printing device such that each identifier has its own unique configuration. These identifiers may act as aliases for the printing device.

Settings module 116 may instruct processor 110 to further associate the identifier with a printing configuration that specifies how the printing device handles a print request. As noted above, multiple identifiers may be generated by generator 114 such that each identifier may be associated with its own configuration. A configuration may limit the number of pages being printed, the amount of ink to utilize per print request, or may specify a time window during which a print request may be received. Thus, the configuration may allow a user to control what, when, and how content is printed.

Job coordinator 118 may instruct processor 110 to determine whether a received print request originates from a trustworthy source; if it is determined that the source is not trustworthy, job coordinator 118 may instruct processor 110 to associate the received print request with the identifier. Job coordinator 118 may further instruct processor 110 to determine whether the received print request satisfies a condition indicated in the configuration and to print the content contained therein, if it is determined that the received print request satisfies the condition.

Working examples of the system, method, and non-transitory computer-readable medium are shown in FIGS. 2-4. In particular, FIG. 2 illustrates a flow diagram of an example method 200 for managing printing requests from untrustworthy sources. FIGS. 3-4 each show a working example in accordance with the techniques disclosed herein. The actions shown in FIGS. 3-4 will be discussed below with regard to the flow diagram of FIG. 2.

As shown in block 202 of FIG. 2, a printing device may be associated with a configuration. As noted above, each configuration may be further associated with an identifier, such as a unique email address. The e-mail address may be published on social networking sites, public discussion forums, or the like. In one example, the configuration may comprise items that specify a quality and quantity of content to print.

Referring now to FIG. 3, an example configuration screen 300 illustrates example limitations that may be imposed on the printing device and example conditions a print request may satisfy before printing the content therein. One of the example limitations is the number of pages that may be printed per request. In the example configuration screen 300, the number of pages per request is 2 pages. Another example limitation is the maximum number of pages that may be printed from a source associated with the configuration. Configuration screen 300 indicates that the maximum number of pages that may be printed by a source is 200 pages. In yet a further example, the type of data received may be specified. Configuration screen 300 indicates that only hyper text markup language (“html”) files and comma delimited (“csv”) files may be received from a source associated with the configuration. Moreover, a user may limit the total ink to use per request and the total ink to use overall for a given source. The illustrative screen shot of FIG. 3 shows the ink usage set at 2% per request and a total overall ink usage of 48%. In addition, configuration screen 300 illustrates keyword settings that may limit the content that is printed to content containing certain keywords. In the example of FIG. 3, the keywords “soccer” and “vegan recipes” are shown as example keywords. Accordingly, a user may print content containing topics of particular interest.

Referring back to FIG. 2, it may be determined whether the print request originates from a trustworthy source, as shown in block 204. Referring now to FIG. 4, RSS/ATOM feed 404, public facebook/twitter groups 406, and discussion forum 408 may be untrustworthy sources. Each of these sources may be associated with identifier 1-3 respectively. In the example of FIG. 4, each identifier is further associated with one configuration 424. However, it is understood that each identifier may be associated with its own unique configuration. The identifiers may be unique e-mail addresses or aliases that may be made public. Trusted facebook sources 410 and personal drop box 412 may be trusted sources. These trusted sources may be associated with an original identifier 422. This identifier may be kept private since it provides unlimited access to printer 426. Content generate by trusted facebook sources 410 and personal drop box 412 may print directly to printing device 426 without limitation.

Referring back to FIG. 2, if it is determined that the print request originates from an untrustworthy source, the print request may be associated with the configuration, as shown in block 206. In block 208, the print request may be handled in accordance with the configuration. Referring back to FIG. 4, printing device 426 may print content from RSS/ATOM feed 404, public facebook/twitter groups 406, and discussion forum 408 in accordance with configuration 424. Configuration 424 may contain the limitations illustrated in FIG. 3. However, it is understood that the configuration items illustrated in FIG. 3 are non-exhaustive and that other items may be included in the configuration file.

Advantageously, the foregoing system, method, and non-transitory computer readable medium provide users of network or web enabled printers to control what, when, and how content is printed. Furthermore, the techniques disclosed herein allow users to customize configurations for each source deemed untrustworthy. In this regard, rather than banning all content from certain sources, users may print content from sources they may find interesting while protecting the printer from misuse or exploitation.

Although the disclosure herein has been described with reference to particular examples, it is to be understood that these examples are merely illustrative of the principles of the disclosure. It is therefore to be understood that numerous modifications may be made to the examples and that other arrangements may be devised without departing from the spirit and scope of the disclosure as defined by the appended claims. Furthermore, while particular processes are shown in a specific order in the appended drawings, such processes are not limited to any particular order unless such order is expressly set forth herein; rather, processes may be performed in a different order or concurrently and steps may be added or omitted. 

1. A system comprising: a generator which, if executed, instructs at least one processor to generate an identifier and to associate the identifier with a printing device; a settings module which, if executed, instructs at least one processor to further associate the identifier with a printing configuration that specifies how the printing device handles a print request; and a job coordinator which, if executed, instructs at least one processor to: determine whether a received print request originates from a trustworthy source; determine whether the received print request satisfies a condition indicated in the configuration; and, if the source is untrustworthy and the print request satisfies the condition, associate the received print request with the identifier such that the printing device prints the received print request in accordance with the printing configuration.
 2. The system of claim 1, wherein the configuration further to specify a quality and quantity of content to print.
 3. (canceled)
 4. The system of claim 1, wherein the condition comprises a data type requirement.
 5. The system of claim 1, wherein the condition requires the content to contain a keyword.
 6. The system of claim 1, wherein the configuration further to indicate an amount of ink to utilize when printing content contained in the print request.
 7. A non-transitory computer readable medium, comprising instructions therein which, if executed, instructs at least one processor to: associate a configuration with a printing device, the configuration containing information that specify how to handle a print request associated with the configuration; determine whether a received print request originates from a trustworthy source; determine whether the received print request satisfies a condition indicated in the configuration; and if the source is untrustworthy and the print request satisfies the condition, associate the received print request with the configuration such that the printing device prints the received print request in accordance with the configuration.
 8. The non-transitory computer readable medium of claim 7, wherein the configuration specifies a quality and quantity of content to print.
 9. (canceled)
 10. The non-transitory computer readable medium of claim 7, wherein the condition comprises a data type requirement.
 11. The non-transitory computer readable medium of claim 7, wherein the condition requires the content to contain a keyword.
 12. The non-transitory computer readable medium of claim 7, wherein the configuration further to indicate an amount of ink to utilize when printing content contained in the print request.
 13. A method comprising: associating, using at least one processor, an identifier with a printing device; associating, using at least one processor, the identifier with a configuration comprising instructions for the printing device when handling a print request associated with the configuration; determining, using at least one processor, whether a received print request originates from a trustworthy source; determining, using at least one processor, whether the received print request satisfies a condition indicated in the configuration; and if the print request originates from an untrustworthy source and the print request satisfies the condition, associating, using at least one processor, the received print request with the configuration such that the printing device prints the received print request in accordance with the configuration.
 14. The method of claim 13, wherein the instructions in the configuration specifies a quality and quantity of content to print.
 15. (canceled)
 16. The method of claim 13, wherein the condition comprises a data type requirement.
 17. The method of claim 13, wherein the condition requires the content to contain a keyword.
 18. The method of claim 13, wherein the configuration further comprises an indication of an amount of ink to utilize when printing content contained in the print request. 